<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>117_对象的序列化</title>
		<!-- 
		对象的序列化
			-JS中的对象使用时都是存在于计算机的内存中的
			-序列化指将对象转换为一个可以存储的格式
				在JS中对象的序列化通常是将一个对象转换为字符串
			- 序列化的用途(对象转换为字符串有什么用):
				-对象转换为字符串后，可以将字符串在不同的语言之间进行传递
					甚至人可以直接对字符串进行读写操作，使得JS对象可以不同的语言之间传递
					
		如何进行序列化:
			-在JS中有一个工具类JSON (JavaScript Object Notation)JS对象表示法;
			-JS对象序列化后会换一个字符串，这个字符串我们称其为JSON字符串;
			-也可以手动的编写JSON字符串，在很多程序的配置文件就是使用JSON编写的;
			-编写JSON的注意事项:
				1.JSON字符串有两种类型:
					JSON对象 {}
					JSON数组[]
				2.JSON字符串的属性名必须使用双引号引起来
				3.JSON中可以使用的属性值(元素)
					-数字(Number)
					-字符串(String)必须使用双引号
					-布尔值(Boolean)
					-空值(Null)
					-对象(Object {})
					-数组(Array[])
				4.JSON的格式和JS对象的格式基本上一致的;
					注意:JSON字符串如果属性是最后一个，则不要再加“，”。
		 -->
		<script>
			const obj = {
				name: "孙悟空",
				age: 18
			}
			// 将obj转换为JSON字符串
			const str = JSON.stringify(obj)

			// 将JSON字符串转换为obj
			const obj2 = JSON.parse(str)

			console.log(obj);
			console.log(obj2, obj2 === obj);

			console.log(str); //{"name":"孙悟空","age":18}
		</script>
	</head>
	<body>
	</body>
</html>